Implementing a turbo-demodulation scheme is complex, especially when an iterative channel decoder is used in the turbo-demodulation scheme.
When a powerful iterative channel decoder is used, for example using a LDPC code, a convolutional turbo-code (CTC) or a block turbo-code (BTC), the decoders of these codes have in common to work according to the turbo principle. Internally some units, either implemented in hardware or software, exchange information in an iterative way.
For a LDPC code, it is classically considered generally that at least 50 iterations are needed to get good performances. For turbo-codes, between 4 and 8 decoding iterations are needed.
When such a turbo-channel-decoder is implemented inside a turbo-demodulation scheme, the complexity explodes. If 5 turbo iterations are used for the turbo-demodulation, with a LDPC decoder implementing 50 iterations inside, we get 250 LDPC iterations globally. The same reasoning can be used with turbo-codes.